package com.cys.markdown.doc.project.entity;

import java.util.Date;

import com.cys.markdown.doc.project.interfaces.entity.IProjectDoc;
import com.fasterxml.jackson.annotation.JsonIgnore;

import javax.persistence.*;

/**
 * T_PROJECT_DOC【项目文档表】实体类
 *
 * @author caiyushen
 */
@Entity
@Table(name = "T_PROJECT_DOC", indexes = {
        @Index(name = "I_DOC_PROJECT_INFO_ID", columnList = "PROJECT_INFO_ID"),
})
public class ProjectDoc implements IProjectDoc {

    private static final long serialVersionUID = 5864919837483700224L;


    /**
     * 主键
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "PROJECT_DOC_ID", columnDefinition = "bigint COMMENT '主键标识'")
    private Long projectDocId;


    /**
     * 项目主键
     */
    @Column(name = "PROJECT_INFO_ID", columnDefinition = "bigint COMMENT '项目主键'")
    private Long projectInfoId;


    /**
     * 文档名称
     */
    @Column(name = "PROJECT_DOC_NAME", columnDefinition = "varchar(512) COMMENT '项目主键'")
    private String projectDocName;


    /**
     * markdown内容
     */
    @Column(name = "MARKDOWN_DOC", columnDefinition = "mediumtext COMMENT 'markdown内容'")
    private String markdownDoc;


    /**
     * html内容
     */
    @Column(name = "HTML_VALUE", columnDefinition = "mediumtext COMMENT 'html内容'")
    private String htmlValue;

    /**
     * 作者
     */
    @Column(name = "AUTHOR", columnDefinition = "varchar(128) COMMENT '作者'")
    private String author;

    /**
     * 发布状态
     * 1:已发布
     * 2:未发布
     */
    @Column(name = "PUBLISH_STATUS", columnDefinition = "int COMMENT '发布状态'")
    private Integer publishStatus;

    /**
     * 删除标识 1：可用 2：已删除
     */
    @JsonIgnore
    @Column(name = "DEL_STATUS", columnDefinition = "int COMMENT '发布状态'")
    private Integer delStatus;


    /**
     * 创建时间
     */
    @JsonIgnore
    @Column(name = "CREATE_DATE", columnDefinition = "datetime COMMENT '创建时间'")
    private Date createDate;


    /**
     * 修改时间
     */
    @JsonIgnore
    @Column(name = "MODIFY_DATE", columnDefinition = "datetime COMMENT '修改时间'")
    private Date modifyDate;


    @Override
    public Long getProjectDocId() {
        return projectDocId;
    }

    @Override
    public void setProjectDocId(Long projectDocId) {
        this.projectDocId = projectDocId;
    }

    @Override
    public Long getProjectInfoId() {
        return projectInfoId;
    }

    @Override
    public void setProjectInfoId(Long projectInfoId) {
        this.projectInfoId = projectInfoId;
    }

    @Override
    public String getProjectDocName() {
        return projectDocName;
    }

    @Override
    public void setProjectDocName(String projectDocName) {
        this.projectDocName = projectDocName;
    }

    @Override
    public String getMarkdownDoc() {
        return markdownDoc;
    }

    @Override
    public void setMarkdownDoc(String markdownDoc) {
        this.markdownDoc = markdownDoc;
    }

    @Override
    public String getHtmlValue() {
        return htmlValue;
    }

    @Override
    public void setHtmlValue(String htmlValue) {
        this.htmlValue = htmlValue;
    }

    @Override
    public String getAuthor() {
        return author;
    }

    @Override
    public void setAuthor(String author) {
        this.author = author;
    }

    @Override
    public Integer getPublishStatus() {
        return publishStatus;
    }

    @Override
    public void setPublishStatus(Integer publishStatus) {
        this.publishStatus = publishStatus;
    }

    @Override
    public Integer getDelStatus() {
        return delStatus;
    }

    @Override
    public void setDelStatus(Integer delStatus) {
        this.delStatus = delStatus;
    }

    @Override
    public Date getCreateDate() {
        return createDate;
    }

    @Override
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    @Override
    public Date getModifyDate() {
        return modifyDate;
    }

    @Override
    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    @Override
    public String toString() {
        return "ProjectDoc{" +
                "projectDocId=" + projectDocId +
                ", projectInfoId=" + projectInfoId +
                ", projectDocName='" + projectDocName + '\'' +
                ", markdownDoc='" + markdownDoc + '\'' +
                ", htmlValue='" + htmlValue + '\'' +
                ", author='" + author + '\'' +
                ", publishStatus=" + publishStatus +
                ", delStatus=" + delStatus +
                ", createDate=" + createDate +
                ", modifyDate=" + modifyDate +
                '}';
    }

}
 






